package com.ruoyi.game.service;

import java.util.List;
import com.ruoyi.game.api.domin.GameUser;

/**
 * 游戏用户Service接口
 *
 * @author qidian
 * @date 2022-05-06
 */
public interface IGameUserService
{
    /**
     * 查询游戏用户
     *
     * @param id 游戏用户主键
     * @return 游戏用户
     */
    public GameUser selectGameUserById(Long id);

    /**
     * 查询游戏用户
     *
     * @param userId    用户id
     * @return  游戏用户
     */
    public GameUser selectGameUserByUserId(Long userId);

    /**
     * 查询游戏用户列表
     *
     * @param gameUser 游戏用户
     * @return 游戏用户集合
     */
    public List<GameUser> selectGameUserList(GameUser gameUser);

    /**
     * 新增游戏用户
     *
     * @param gameUser 游戏用户
     * @return 结果
     */
    public int insertGameUser(GameUser gameUser);

    /**
     * 修改游戏用户
     *
     * @param gameUser 游戏用户
     * @return 结果
     */
    public int updateGameUser(GameUser gameUser);

    /**
     * 批量删除游戏用户
     *
     * @param ids 需要删除的游戏用户主键集合
     * @return 结果
     */
    public int deleteGameUserByIds(Long[] ids);

    /**
     * 删除游戏用户信息
     *
     * @param id 游戏用户主键
     * @return 结果
     */
    public int deleteGameUserById(Long id);

    /**
     * 充值金币
     *
     * @param coins 金币数量
     */
    void recharge(Long coins);

    /**
     * 消费平台币
     *
     * @param coins 平台币数量
     * @param remark 备注
     */
    void consumption(Long coins, String remark);
}
